﻿using System;
using System.Collections.Generic;
using System.IO;

namespace SEXY
{
	// Token: 0x020002A6 RID: 678
	[Serializable]
	public abstract class CharFileInfoCoordinate : BlockControlBase
	{
		// Token: 0x06001126 RID: 4390 RVA: 0x0006E320 File Offset: 0x0006C520
		public CharFileInfoCoordinate() : base("コーディネート情報", 1)
		{
		}

		// Token: 0x06001127 RID: 4391 RVA: 0x0006E33C File Offset: 0x0006C53C
		public bool SetInfo(CharDefine.CoordinateType type, CharFileInfoClothes info)
		{
			return this.dictClothesInfo[type].Copy(info);
		}

		// Token: 0x06001128 RID: 4392 RVA: 0x0006E350 File Offset: 0x0006C550
		public CharFileInfoClothes GetInfo(CharDefine.CoordinateType type)
		{
			CharFileInfoClothes result = null;
			this.dictClothesInfo.TryGetValue(type, out result);
			return result;
		}

		// Token: 0x06001129 RID: 4393 RVA: 0x0006E370 File Offset: 0x0006C570
		public override bool LoadBytes(byte[] data, int coordinateVer)
		{
			bool result;
			using (MemoryStream memoryStream = new MemoryStream(data))
			{
				using (BinaryReader binaryReader = new BinaryReader(memoryStream))
				{
					result = this.LoadSub(binaryReader, coordinateVer);
				}
			}
			return result;
		}

		// Token: 0x0600112A RID: 4394
		protected abstract bool LoadSub(BinaryReader br, int coordinateVer);

		// Token: 0x040012C3 RID: 4803
		public int coordinateLoadVersion;

		// Token: 0x040012C4 RID: 4804
		protected Dictionary<CharDefine.CoordinateType, CharFileInfoClothes> dictClothesInfo = new Dictionary<CharDefine.CoordinateType, CharFileInfoClothes>();
	}
}
